package com.hs.live.user.inter;

import com.hs.live.user.dto.CheckSmsDTO;
import com.hs.live.user.dto.MobileLoginUserDTO;
import com.hs.live.user.dto.UserDTO;
import com.hs.live.user.req.MobileLoginUserReq;

/**
 * @Description: User的RPC请求接口
 * @Author 胡尚
 * @Date: 2024/9/6 9:58
 */
public interface UserRpcService {

    /**
     * 根据id获取user对象
     * @param id 用户id
     * @return 实体对象
     */
    UserDTO getUserById(Long id);

    /**
     * 发送短信验证码
     * @param phone 手机号
     * @return 是否成功
     */
    boolean sendSms(String phone);

    /**
     * 校验短信验证码是否成功
     */
    CheckSmsDTO checkSms(MobileLoginUserReq req);

    /**
     * 手机号登录，判断当前用户是否已经存在，如果不存在着创建一条新用户记录，并返回token
     */
    MobileLoginUserDTO getOrCreateUserToken(String mobile);
}
